package com.example.joblinker.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.joblinker.dto.InterviewDTO;
import com.example.joblinker.vo.InterviewVO;

public interface InterviewService {

    /**
     * 安排面试
     *
     * @param interviewDTO 面试信息
     * @return 创建的面试信息
     */
    InterviewVO arrangeInterview(InterviewDTO interviewDTO);

    /**
     * 获取面试详情
     *
     * @param id 面试ID
     * @return 面试详情
     */
    InterviewVO getInterviewDetail(Long id);

    /**
     * 获取用户的面试列表
     *
     * @param userId 用户ID
     * @param page 页码
     * @param size 每页大小
     * @return 面试列表
     */
    Page<InterviewVO> getUserInterviews(Long userId, Integer page, Integer size);

    /**
     * 获取企业的面试列表
     *
     * @param companyId 企业ID
     * @param page 页码
     * @param size 每页大小
     * @return 面试列表
     */
    Page<InterviewVO> getCompanyInterviews(Long companyId, Integer page, Integer size);

    /**
     * 更新面试状态
     *
     * @param id 面试ID
     * @param status 状态
     */
    void updateInterviewStatus(Long id, Integer status);

    /**
     * 提交面试反馈
     *
     * @param id 面试ID
     * @param feedback 反馈内容
     * @param rating 评分
     */
    void submitFeedback(Long id, String feedback, Integer rating);

    /**
     * 取消面试
     *
     * @param id 面试ID
     */
    void cancelInterview(Long id);
} 
 